// {app_root}/app/extend/filter.js
'use strict';
// 自定义 Nunjucks 模板的过滤器 以 『参数 | 函数』方式在模板中调用
// fmt 格式： YYYY-mm-dd HH:MM:SS
module.exports = {
  dateFormat(fmt, date) {
    let ret;
    try {
      const opt = {
        'Y+': date.getFullYear().toString(), // 年
        'm+': (date.getMonth() + 1).toString(), // 月
        'd+': date.getDate().toString(), // 日
        'H+': date.getHours().toString(), // 时
        'M+': date.getMinutes().toString(), // 分
        'S+': date.getSeconds().toString(), // 秒
      // 有其他格式化字符需求可以继续添加，必须转化成字符串
      };
      for (const k in opt) {
        ret = new RegExp('(' + k + ')').exec(fmt);
        if (ret) {
          fmt = fmt.replace(ret[1], (ret[1].length === 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, '0')));
        }
      }
      return fmt;
    } catch (error) {
      return date;
    }
  },
};
